import { SCHEDULED_REQUEST_TASK } from '../commonJs/config';
import axios from "../commonJs/request";

clearInterval(timer);

let timer = setTimeout(() => {
    location.reload();
}, SCHEDULED_REQUEST_TASK * 60 * 1000);

//获取门诊总人次/占比
let totalData = {};
export function getTotal(callback) {
    if (JSON.stringify(totalData) == "{}") {
        axios.get('/bi/get_outpatient_person_time').then(res => {
            if (res.data) {
                totalData = res.data.data;
                callback(res.data.data);
            }
        })
            .catch(err => {
                console.log(err);
            })
    }
    else {
        callback(totalData);
    }
}

//获取中医药门急诊占比
let outpatientData = {};
export function getOutpatientData(callback) {
    if (JSON.stringify(outpatientData) == "{}") {
        axios.get('/bi/get_TCM_emergency_person_time').then(res => {
            if (res.data) {
                outpatientData = res.data.data;
                callback(res.data.data);
            }
        })
            .catch(err => {
                console.log(err);
            })
    }
    else {
        callback(outpatientData);
    }
}

//获取慢病患者管理率
let managementData = {};
export function getManagementData(callback) {
    if (JSON.stringify(managementData) == "{}") {
        axios.get('/bi/get_chronic_disease_patient_management_rate').then(res => {
            if (res.data) {
                managementData = res.data.data;
                callback(res.data.data);
            }
        })
            .catch(err => {
                console.log(err);
            })
    }
    else {
        callback(managementData);
    }
}

//住院总人次/占比/平均住院天数
let inpatientsData = {};
export function getInpatientsData(callback) {
    if (JSON.stringify(inpatientsData) == "{}") {
        axios.get('/bi/get_inpatient').then(res => {
            if (res.data) {
                inpatientsData = res.data.data;
                callback(res.data.data);
            }
        })
            .catch(err => {
                console.log(err);
            })
    }
    else {
        callback(inpatientsData);
    }
}


//出入院运行指标
let operationIndexData = {};
export function getOperationIndexData(callback) {
    if (JSON.stringify(operationIndexData) == "{}") {
        axios.get('/bi/get_leave_enter_hospital').then(res => {
            if (res.data) {
                operationIndexData = res.data.data;
                callback(res.data.data);
            }
        })
            .catch(err => {
                console.log(err);
            })
    }
    else {
        callback(operationIndexData);
    }
}

//总床位数
let bedData = {};
export function getBedData(callback) {
    if (JSON.stringify(bedData) == "{}") {
        axios.get('/bi/get_bed_num').then(res => {
            if (res.data) {
                bedData = res.data.data;
                callback(res.data.data);
            }
        })
            .catch(err => {
                console.log(err);
            })
    }
    else {
        callback(bedData);
    }
}

//医院总收入/收入占比
let totalIncomeData = {};
export function getTotalIncomeData(callback) {
    if (JSON.stringify(totalIncomeData) == "{}") {
        axios.get('/bi/get_income_precent').then(res => {
            if (res.data) {
                totalIncomeData = res.data.data;
                callback(res.data.data);
            }
        })
            .catch(err => {
                console.log(err);
            })
    }
    else {
        callback(totalIncomeData);
    }
}

//县域医保基金占比
let insuranceData = {};
export function getInsuranceData(callback) {
    if (JSON.stringify(insuranceData) == "{}") {
        axios.get('/bi/get_medical_insurance_fund').then(res => {
            if (res.data) {
                insuranceData = res.data.data;
                callback(res.data.data);
            }
        })
            .catch(err => {
                console.log(err);
            })
    }
    else {
        callback(insuranceData);
    }
}

//药品/耗材收入占比
let drugsData = {};
export function getDrugsData(callback) {
    if (JSON.stringify(drugsData) == "{}") {
        axios.get('/bi/get_consumables_revenue').then(res => {
            if (res.data) {
                drugsData = res.data.data;
                callback(res.data.data);
            }
        })
            .catch(err => {
                console.log(err);
            })
    }
    else {
        callback(drugsData);
    }
}

//门诊收入
let outpatientRevenueData = {};
export function getOutpatientRevenueData(callback) {
    if (JSON.stringify(outpatientRevenueData) == "{}") {
        axios.get('/bi/get_outpatient_revenue').then(res => {
            if (res.data) {
                outpatientRevenueData = res.data.data;
                callback(res.data.data);
            }
        })
            .catch(err => {
                console.log(err);
            })
    }
    else {
        callback(outpatientRevenueData);
    }
}

//门诊人均费用/住院治疗收入
let outpatientCostData = {};
export function getOutpatientCostData(callback) {
    if (JSON.stringify(outpatientCostData) == "{}") {
        axios.get('/bi/get_outpatient_inpatient_amount').then(res => {
            if (res.data) {
                outpatientCostData = res.data.data;
                callback(res.data.data);
            }
        })
            .catch(err => {
                console.log(err);
            })
    }
    else {
        callback(outpatientCostData);
    }
}

//住院人均费用/手术收入占比
let operationIncomeData = {};
export function getOperationIncomeData(callback) {
    if (JSON.stringify(operationIncomeData) == "{}") {
        axios.get('/bi/get_amount_of_inpatient_surgery').then(res => {
            if (res.data) {
                operationIncomeData = res.data.data;
                callback(res.data.data);
            }
        })
            .catch(err => {
                console.log(err);
            })
    }
    else {
        callback(operationIncomeData);
    }
}

//药品消耗总数TOP10
let topTenData = {};
export function getTopTenData(callback) {
    if (JSON.stringify(topTenData) == "{}") {
        axios.get('/bi/get_top10_drug_consumption').then(res => {
            if (res.data) {
                topTenData = res.data.data;
                callback(res.data.data);
            }
        })
            .catch(err => {
                console.log(err);
            })
    }
    else {
        callback(topTenData);
    }
}

//基本药物总数/使用占比
let essentialDrugsData = {};
export function getEssentialDrugsData(callback) {
    if (JSON.stringify(essentialDrugsData) == "{}") {
        axios.get('/bi/get_essential_drugs').then(res => {
            if (res.data) {
                essentialDrugsData = res.data.data;
                callback(res.data.data);
            }
        })
            .catch(err => {
                console.log(err);
            })
    }
    else {
        callback(essentialDrugsData);
    }
}

//两病用药
let twoDiseasesData = {};
export function getTwoDiseasesData(callback) {
    if (JSON.stringify(twoDiseasesData) == "{}") {
        axios.get('/bi/get_dosage_of_two_drugs').then(res => {
            if (res.data) {
                twoDiseasesData = res.data.data;
                callback(res.data.data);
            }
        })
            .catch(err => {
                console.log(err);
            })
    }
    else {
        callback(twoDiseasesData);
    }
}

//抗菌药总数/排名
let antibacterialData = {};
export function getAntibacterialData(callback) {
    if (JSON.stringify(antibacterialData) == "{}") {
        axios.get('/bi/get_antibacterials_num').then(res => {
            if (res.data) {
                antibacterialData = res.data.data;
                callback(res.data.data);
            }
        })
            .catch(err => {
                console.log(err);
            })
    }
    else {
        callback(antibacterialData);
    }
}

//抗菌药使用率
let usageRate = {};
export function getUsageRate(callback) {
    if (JSON.stringify(usageRate) == "{}") {
        axios.get('/bi/get_antibacterial_usage_rate').then(res => {
            if (res.data) {
                usageRate = res.data.data;
                callback(res.data.data);
            }
        })
            .catch(err => {
                console.log(err);
            })
    }
    else {
        callback(usageRate);
    }
}

//抗肿瘤药物使用率
let antiTumorData = {};
export function getAntiTumorData(callback) {
    if (JSON.stringify(antiTumorData) == "{}") {
        axios.get('/bi/get_antineoplastic_usage_rate').then(res => {
            if (res.data) {
                antiTumorData = res.data.data;
                callback(res.data.data);
            }
        })
            .catch(err => {
                console.log(err);
            })
    }
    else {
        callback(antiTumorData);
    }
}

//所有医院细节
let detailsData = {};
export function getDetailasData(callback) {
    if (JSON.stringify(detailsData) == "{}") {
        axios.get('/bi/get_county_hospital_details').then(res => {
            if (res.data) {
                detailsData = res.data.data;
                callback(res.data.data);
            }
        })
            .catch(err => {
                console.log(err);
            })
    }
    else {
        callback(detailsData);
    }
}